nvm是专门的node版本管理工具,可以在同一台机器上管理不同node版本。
github地址: https://github.com/creationix/nvm
卸载已安装到全局的 node/npm
如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中
node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm
安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:
1 | #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装 |
安装 nvm(安装完成后需要重启终端)
Github:https://github.com/creationix/nvm
1 | curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | zsh |
- 安装 node
1 | # 最新 lts 版本 |
安装切换各版本 node/npm
1 | # 最新 LTS 版本 |
使用 nvm --help
查看是否安装成功。
使用 nvm ls
查看已经安装的版本。
使用 nvm ls-remote
查看所有远端版本。
使用 nvm install
安装某个版本,如 nvm install v8.11.3
。
使用 nvm use
切换到某个版本,如 nvm use v8.11.3
使用 8.11.3
, nvm use system
使用系统版本。
使用 .nvmrc 文件配置项目所使用的 node 版本
如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号,例如:
1 | cd <项目根目录> #进入项目根目录 |
Ps:
类似的工具也有n命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本, 因此 n 命令相比 nvm 更加局限。由于 npm 安装的模块路径均为 /usr/local/lib/node_modules , 当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。所以还是推荐使用nvm。
github地址:https://github.com/tj/n